/*
1.绑定输入框 当值改变的时候 触发input事件
  1.获取输入框的值
  2.检验合法性
  3.检验通过 把输入的值 发送个后台
  4.接受到数据 渲染到页面
2.防抖
  1.新建一个定时器

*/
import { request } from "../../request/index.js";
import regeneratorRuntime from "../../lib/runtime/runtime.js";
Page({
  data: {
    goods:[],
    // 取消按钮的隐藏与现实
    isFoucs:false,
    inpValue:''
  },
  TimerID:-1,
  // 输入框的值改变时触发这个事件
  handelInputInfo(e){
    // console.log(e);
    // 获取输入框的数值
    const {value} = e.detail;
    // 检验合法性
    if(!value.trim()){
      // 不合法
      this.setData({
        goods:[],
        isFoucs:false
      })
      return;
    }
    // 准备发送请求获取数据
    // 防抖实现
    this.setData({
      isFoucs:true
    })
    clearTimeout(this.TimerID);
    this.TimerID = setTimeout(()=>{
      this.qsearch(value);
    },1000)
  },
  // 准备发送请求获取数据
 async qsearch(query){
   const res = await request({url:"/goods/qsearch", data:{query}});
   // 赋值
    this.setData({
      goods:res.data.message
    })
    // console.log(goods);
  },
  HandelCancel(){
    this.setData({
      inpValue:'',
      isFoucs:false,
      goods:[]
    })
  }
})